package com.sendi.system.action;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;

import com.sendi.system.bean.LoginInfo;
import com.sendi.system.bean.OnlineUser;
import com.sendi.system.bean.OnlineUserBean;
import com.sendi.system.bean.PushHelper;
import com.sendi.system.entity.User;

public class OnlineUserAction extends SysAction {
  public OnlineUser onlineUser;
  public String forceuid;
	public void onlineUserinit()
	{
		 HashMap<String, String> loginstatusmap=this.onlineUser.loginstatusmap;
		  HashMap<String,com.sendi.system.entity.User>      onlineUser=this.onlineUser.onlineUser;
	      HashMap<String,LoginInfo> loginInfo=this.onlineUser.loginInfo;
		  Iterator<String> uid=loginstatusmap.keySet().iterator();
		  ArrayList<OnlineUserBean> oub=new ArrayList<OnlineUserBean>();
		  
		while(uid.hasNext())
		{
			String ukey=uid.next();
			String uvalue=loginstatusmap.get(ukey);
			if(uvalue.equals("login"))
			{
				OnlineUserBean ob=new OnlineUserBean();
				User u=onlineUser.get(ukey);
				LoginInfo li=loginInfo.get(ukey);
				ob.setId(u.getId());
				ob.setLoginhost(li.getLoginhost());
				ob.setLogintime(li.getLogintime());
				ob.setUserId(u.getUserId());
				ob.setSessionid(ukey);
				ob.setUserName(u.getUserName());
				oub.add(ob);
		 	}
		}
	 
	 	writeJSONArray(oub);
	 
	}
	/*
	 * 强制用户下线
	 */
	public void forcelogout()
	{
	 	this.pushHelper.PushMsg(this.forceuid, "forcelogout");
	}
	public OnlineUser getOnlineUser() {
		return onlineUser;
	}
	public void setOnlineUser(OnlineUser onlineUser) {
		this.onlineUser = onlineUser;
	}
	public String getForceuid() {
		return forceuid;
	}
	public void setForceuid(String forceuid) {
		this.forceuid = forceuid;
	}
}
